package com.Register.service;

import com.Register.dto.*;
import com.Register.entity.SkillDocument;
import com.Register.result.PageResult;
import com.Register.result.Result;
import com.Register.vo.SkillDocumentVO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fasterxml.jackson.core.JsonProcessingException;

import java.util.List;

public interface SkillDocumentService extends IService<SkillDocument> {

    /*
    创建技能培训文章
     */
    Result<String> createSkillDocument(SkillDocumentCreateDTO skillDocumentDTO) throws JsonProcessingException;

    /*
    用户分页查询所有启用的培训文章
     */
    PageResult getActiveSkillDocument(SkillDocumentPageQueryDTO skillDocumentPageQueryDTO) throws JsonProcessingException;

    /*
    管理员分页查询所有的文章
     */
    PageResult getAllSkillDocument(AdminSkillDocumentPageQueryDTO adminSkillDocumentPageQueryDTO);

    /*
    管理员更新技能培训文章
     */
    Result<String> updateSkillDocument(SkillDocumentUpdateDTO skillDocumentUpdateDTO);

    /*
    根据id查询文章
     */
    SkillDocument getDocumentByid(String id);

    SkillDocumentVO viewDoc(Long id) throws JsonProcessingException;

    List<Long> getAllSkillDocumentIds();

    void updateSkillDocumentViewCount(Long skillDocumentId, Long viewCount);
}
